Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Тестування АЛП

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2019
Тип роботи:
Лабораторна робота
Предмет:
Тестування та діагностика кіберфізичних систем

Частина тексту файла

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ / Звіт з лабораторної роботи № 1 з дисципліни: “ ТЕСТУВАННЯ І ДІАГНОСТИКА КІБЕРФІЗИЧНИХ СИСТЕМ ” На тему:” Тестування АЛП” Львів 2019 Мета роботи: метою роботи є ознайомлення з загальною схемою тестування цифрової техніки. Засвоєння методів та засобів тестування комбінаційних схем на прикладі арифметико-логічного пристрою (АЛП). Завдання: дана лабораторна робота виконується у середовищі Aldec Active HDL. У даній роботі при тестуванні створюються 3 вузли. 1) Еталонний вузол; 2) Еталонний вузол з наперед заданою помилкою; 3) Вузол порівняння. Потрібно змоделювати Арифметико-логічний пристрій та протестувати його при різних помилках. Арифметико-логічний пристрій повинен виконувати такі операції: 1) операція віднімання; 2) операція І; 3) операція АБО; 4) операція виключне АБО; 5) інкремент A; 6) інкремент B; 7) інверсія A; 8) інверсія B; 9) логічний зсув ліворуч A; 10) логічний зсув ліворуч B; 11) зсув праворуч A; 12) логічний зсув праворуч B; 13) декремент A; 14) декремент B; 15) константа 0. Виконання роботи: Код Еталонного вузла: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; use ieee.NUMERIC_STD.all; entity ALU is generic ( constant N: natural := 1 ); Port ( A, B : in STD_LOGIC_VECTOR(7 downto 0); ALU_Sel : in STD_LOGIC_VECTOR(3 downto 0); ALU_Out : out STD_LOGIC_VECTOR(7 downto 0) ); end ALU; architecture Behavioral of ALU is signal ALU_Result : std_logic_vector (7 downto 0); signal tmp: std_logic_vector (8 downto 0); begin process(A,B,ALU_Sel) begin case(ALU_Sel) is when "0000" => ALU_Result <= A - B ; when "0001" => ALU_Result <= A AND B ; when "0010" => ALU_Result <= A OR B; when "0011" => ALU_Result <= A XOR B; when "0100" => ALU_Result <= std_logic_vector(unsigned(A) sll N); when "0101" => ALU_Result <= std_logic_vector(unsigned(B) sll N); when "0110" => ALU_Result <= std_logic_vector(unsigned(A) srl N); when "0111" => ALU_Result <= std_logic_vector(unsigned(B) srl N); when "1000" => ALU_Result <= A + N; when "1001" => ALU_Result <= B + N; when "1010" => ALU_Result <= (NOT A); when "1011" => ALU_Result <= (NOT B); when "1100" => ALU_Result <= A - N; when "1101" => ALU_Result <= B - N; when "1110" => ALU_Result <= "00000000" ; when others => ALU_Result <= "ZZZZZZZZ" ; end case; end process; ALU_Out <= ALU_Result; end Behavioral; Змінений код Еталонного вузла: begin case(ALU_Sel) is when "0000" => ALU_Result <= A - B ; when "0001" => ALU_Result <= A NAND B ; when "0010" => ALU_Result <= A NOR B; when "0011" => ALU_Result <= A XOR B; when "0100" => ALU_Result <= std_logic_vector(unsigned(A) sll N); when "0101" => ALU_Result <= std_logic_vector(unsigned(B) sll N); when "0110" => ALU_Result <= std_logic_vector(unsigned(A) srl N); when "0111" => ALU_Result <= std_logic_vector(unsigned(B) srl N); when "1000" => ALU_Result <= A - N; when "1001" => ALU_Result <= B + N; when "1010" => ALU_Result <= (NOT A); when "1011" => ALU_Result <= (NOT B); when "1100" => ALU_Result <= A + N; when "1101" => ALU_Result <= B - N; when "1110" => ALU_Result <= "00000000" when others => ALU_Result <= "ZZZZZZZZ" ; end case; Код Вузла порівняння: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity Comparison is port ( ALU_Out : in std_logic_vector (7 downto 0); ALU_Out_B : in std_logic_vector (7 downto 0); Output : out std_logic ); end Comparison; architecture Arch_Comparator of Comparison is begin Output <= '1' when (ALU_Out_B=ALU_Out) else '0'; end Arch_Comparator; Часова діаграма роботи системи: / Висновок: в даній лабораторній роботі я розробив про...
Антиботан аватар за замовчуванням

23.10.2019 21:10

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини